﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>

//预处理#和##运算
//#define FUFU(x,y) printf("the value of "#x" is "y"\n",x)
//
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	FUFU(a, "%d");
//
//	float b = 5.5f;
//	FUFU(b, "%f");
//
//	return 0;
//}

//使⽤宏，定义不同函数。
//#define FUFU(teyp) \
//teyp teyp##_max(teyp x,teyp y) \
//{ \
//    return ((x)>(y)?(x):(y)); \
//}
//
//FUFU(int)
////FUFU(float)
//
//int main()
//{
//	int ret = int_max(10, 5);
//	printf("%d\n", ret);
//
//	return 0;
//}

//#define FUFU 100
//int main()
//{
//	printf("%d\n", FUFU);
//#undef FUFU
//
//
//	return 0;
//}

//条件编译指令
// 
//#define FUFU 10
//
//int main()
//{
//#ifdef FUFU
//	printf("%d\n", FUFU);
//#endif
//
//	return 0;
//}

//int main()
//{
//#if 1
//	printf("hehe\n");
//#endif 
//
//	return 0;
//}

//#define M 3
//int main()
//{
//#if M == 1
//	printf("hehe\n");
//#elif M == 2
//	printf("heihei\n");
//#else
//	printf("qaqa\n");
//#endif
//
//	return 0;
//}

//#define M
//int main()
//{
//#ifdef M
//	printf("hehe\n");
//#endif
//
//#ifndef M
//	printf("haha\n");
//#endif
//
//	return 0;
//}

//嵌套指令
//#define M 3
//
//int main()
//{
//#if defined(M)
//#if M == 1
//	printf("hehe\n");
//#elif M == 2
//	printf("haha\n");
//#else 
//	printf("heihei\n");
//#endif 
//
//#elif !defined(M)
//	printf("fufu\n");
//#endif
//
//
//	return 0;
//}

//头文件重复包含
#include "fufu.h"
#include "fufu.h"
#include "fufu.h"
#include "fufu.h"
#include "fufu.h"


int main()
{
	int ret = add(3, 5);
	printf("%d\n", ret);

	return 0;
}